import axios from 'axios';
import { getToken } from '/@/utils/auth';
import { useGlobSetting } from '/@/hooks/setting';

const globSetting = useGlobSetting();
const baseUrl = globSetting.apiUrl;

// 创建axios实例
const api = axios.create({
  baseURL: baseUrl + '/tobedone/tobedone', // 使用全局配置的API基础URL
  headers: {
    'Content-Type': 'application/json'
  },
  timeout: 15000 // 请求超时时间
});

// 请求拦截器 - 添加授权令牌
api.interceptors.request.use(
  (config) => {
    const token = getToken();
    if (token) {
      // 在请求头中添加token
      config.headers['X-Access-Token'] = token;
    }
    return config;
  },
  (error) => {
    return Promise.reject(error);
  }
);

// 响应拦截器 - 处理错误
api.interceptors.response.use(
  (response) => {
    return response.data;
  },
  (error) => {
    console.error('API请求错误:', error);
    return Promise.reject(error);
  }
);

// 待办看板相关api
export const KanBanApi = {
  // 获取接收年度关键指标列表的总数
  ReceiveSumOfKpi: () => api.get('/ReceiveSumOfKpi'),

  // 获取汇报年度关键指标列表的总数
  ReportSumOfKpi: () => api.get('/ReportSumOfKpi'),

  // 获取审批年度关键指标列表的总数
  ApprovalSumOfKpi: () => api.post('/ApprovalSumOfKpi'),

  //年度关键指标记录的总数
  KpiSum: () => api.get('/KpiSum'),

  // 获取接收年度重点工作列表的总数
  TobedoneAnnualKeyWorkSum:()=>api.get('/TobedoneAnnualKeyWorkSum'),

  // 获取汇报年度重点工作列表的总数
  ReportSumOfKeyWork:()=>api.get('/ReportSumOfKeyWork'),

  // 获取审批年度重点工作列表的总数
  ApprovalSumOfKeyWork:()=>api.get('/ApprovalSumOfKeyWork'),

  //年度重点工作记录的总数
  KeyWorkSum:()=>api.get('/KeyWorkSum'),

};

export default api;
